/*
 * # 应用所有视图:
 *  Calendar - 日历
 * 
 * # 描述:
 *  向所有用户显示日历，并允许系统管理人员管理本组织内部使用的节假日和工作日，这是在业务中工作日计数的主要依据。
 * 
 * Copyright (c), 上海沃恩信息科技有限公司.
 * All rights reserved.
 * Licensed under BSD (https://www.pittypat.work/bsd.html).
 */
 
use "pittypat_app";
go

/*
 * # 对象视图 - Sql Server:
 *   Date - 日期
 * 
 * # 描述:
 *   表示一个已经安排的工作日或节假日。没有安排的日期将按照默认的规则计算，默认规则如下：周一到周五的为工作日，周六和周日的日期为节假日。
 */
 
if object_id(N'"waln_calendar"."v_management_date"', N'V') is null
	exec('create view "waln_calendar"."v_management_date" as select null as "_null"');
go

alter view "waln_calendar"."v_management_date"
as
	select
		d."Value", -- 日期值
		d."IsWorkday", -- 是否工作日
		d."Festivals" -- 节日名称
	from
		"waln_calendar"."dates" as d;
go

/*
 * # 对象视图 - Sql Server:
 *   Date - 日期
 * 
 * # 描述:
 *   表示一个已经安排的工作日或节假日。没有安排的日期将按照默认的规则计算，默认规则如下：周一到周五的为工作日，周六和周日的日期为节假日。
 */
 
if object_id(N'"waln_calendar"."v_everyone_date"', N'V') is null
	exec('create view "waln_calendar"."v_everyone_date" as select null as "_null"');
go

alter view "waln_calendar"."v_everyone_date"
as
	select
		d."Value", -- 日期值
		d."IsWorkday", -- 是否工作日
		d."Festivals" -- 节日名称
	from
		"waln_calendar"."dates" as d;
go
